package com.mycompany.myapp.dao;

import com.mycompany.myapp.dao.MonstreDao;
import com.mycompany.myapp.dto.Monstre;
import com.mycompany.myapp.dto.MonstrePk;
import com.mycompany.myapp.exceptions.MonstreDaoException;
import java.util.List;

public interface MonstreDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return MonstrePk
	 */
	public MonstrePk insert(Monstre dto);

	/** 
	 * Updates a single row in the monstre table.
	 */
	public void update(MonstrePk pk, Monstre dto) throws MonstreDaoException;

	/** 
	 * Deletes a single row in the monstre table.
	 */
	public void delete(MonstrePk pk) throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria 'idMonstre = :idMonstre'.
	 */
	public Monstre findByPrimaryKey(int idMonstre) throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria ''.
	 */
	public List<Monstre> findAll() throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria 'idMonstre = :idMonstre'.
	 */
	public List<Monstre> findWhereIdMonstreEquals(int idMonstre) throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria 'vieActuelleM = :vieActuelleM'.
	 */
	public List<Monstre> findWhereVieActuelleMEquals(int vieActuelleM) throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria 'vieMaxM = :vieMaxM'.
	 */
	public List<Monstre> findWhereVieMaxMEquals(int vieMaxM) throws MonstreDaoException;

	/** 
	 * Returns all rows from the monstre table that match the criteria 'lieuActuelM = :lieuActuelM'.
	 */
	public List<Monstre> findWhereLieuActuelMEquals(int lieuActuelM) throws MonstreDaoException;

	/** 
	 * Returns the rows from the monstre table that matches the specified primary-key value.
	 */
	public Monstre findByPrimaryKey(MonstrePk pk) throws MonstreDaoException;

}
